###############################################
# 第一步：构建阶段（使用 Maven 构建项目 + 国内镜像源）
###############################################
FROM maven:3.9.4-eclipse-temurin-21-alpine AS builder

# 设置工作目录
WORKDIR /build

# 使用国内镜像源（阿里云）
RUN mkdir -p /root/.m2 && \
    echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" \
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \
             xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 \
             https://maven.apache.org/xsd/settings-1.0.0.xsd"> \
      <mirrors> \
        <mirror> \
          <id>aliyunmaven</id> \
          <mirrorOf>central</mirrorOf> \
          <name>阿里云公共仓库</name> \
          <url>https://maven.aliyun.com/repository/central</url> \
        </mirror> \
      </mirrors> \
    </settings>' > /root/.m2/settings.xml

# 复制项目文件到容器中
COPY . .

# 构建项目并跳过测试，生成 JAR 文件
RUN mvn clean package -DskipTests

###############################################
# 第二步：运行阶段（仅保留最终构建产物）
###############################################
FROM eclipse-temurin:21-jre-jammy

# 设置工作目录
WORKDIR /app

# 从构建阶段复制 JAR 文件
COPY --from=builder /build/target/*.jar ./olca-con.jar

# 安装 tzdata 以支持时区设置
RUN apt-get update && apt-get install -y tzdata && rm -rf /var/lib/apt/lists/*

# 设置容器时区为上海
ENV TZ=Asia/Shanghai

# JVM 参数（可自定义）
ENV JAVA_OPTS="-Xmx1024m"

# 应用端口
EXPOSE 8088

# 启动命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app/olca-con.jar"]
